home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 483 / mkrscsrc / globals.h < prev    next >
Encoding:
C/C++ Source or Header  |  1990-04-27  |  9.2 KB  |  344 lines

  1.  
  2. #ifndef TRUE
  3. #define TRUE        1
  4. #define FALSE        0
  5. #define WI_KIND        (CLOSER|NAME)
  6. #define MIN_WIDTH  100
  7. #define MIN_HEIGHT  100
  8. #define MAXONUM        100
  9. #endif 
  10.   
  11. #ifndef __GNUC__    /* see aes/vdi bind.h */
  12. extern int contrl[12];
  13. extern int intin[256],  ptsin[256];
  14. extern int intout[256], ptsout[256];
  15. extern int gl_apid;
  16. #endif
  17.   
  18. extern int    xdesk,ydesk,hdesk,wdesk;
  19. extern int    xold,yold,hold,wold;
  20. extern int    xwork,ywork,hwork,wwork;    /* desktop and work areas */
  21.  
  22. extern int    gl_hchar;
  23. extern int    gl_wchar;
  24. extern int    gl_wbox;
  25. extern int    gl_hbox;    /* system sizes */
  26.  
  27. extern MFDB source;
  28.  
  29. extern OBJECT *mkrscmnu;       /* objects from resource file */
  30. extern OBJECT *buttont;
  31. extern OBJECT *oldtree;
  32. extern OBJECT *tist;
  33. extern OBJECT *boxct;
  34. extern OBJECT *treicont;
  35. extern OBJECT *obicont;
  36. extern OBJECT *mnuicont;
  37. extern OBJECT *namobjt;
  38. extern OBJECT *dummnu;
  39. extern OBJECT *mtbox1;
  40. extern OBJECT *newtree;
  41. extern OBJECT *boxt;
  42. extern OBJECT *aboutt;
  43. extern OBJECT *sortd;
  44. extern OBJECT *newtop;
  45.  
  46.  
  47. typedef struct _objtree {
  48.     int                kind[MAXONUM];        /* kind of maintree icon    */
  49.     char            name[MAXONUM][30];    /* name of objects in tree    */
  50.     char        strings[MAXONUM][60];    /* obj strings                */
  51.     char        template[MAXONUM][60];    /* obj strings                */
  52.     char        valid[MAXONUM][60];        /* obj strings                */
  53.     ICONBLK            icblk[MAXONUM];        /* icon block array            */
  54.     TEDINFO            ti[MAXONUM];        /* tedinfo array            */
  55.     int                count;                /* number of objects in tree*/
  56.     int                mbox;                /* active drop menu if any    */
  57.     OBJECT            objt[MAXONUM];        /* max number obj = 100     */
  58.     struct _objtree    *treelink[MAXONUM]; /* links to subtrees        */
  59. } objtree;
  60. typedef objtree *objtreeptr;
  61.  
  62. typedef struct _oneobj {
  63.     int                okind;        /* kind of maintree icon    */
  64.     char            oname[30];    /* name of object            */
  65.     char        ostrings[60];    /* obj string                */
  66.     char        otemplate[60];    /* obj string                */
  67.     char        ovalid[60];        /* obj string                */
  68.     ICONBLK            oicblk;        /* icon block array            */
  69.     TEDINFO            oti;        /* tedinfo array            */
  70.     OBJECT            oobjt;
  71.     struct objtree    *otreelink; /* links to subtree        */
  72. } oneobj;
  73. typedef oneobj *oneobjptr;
  74.  
  75. /*
  76.     Window definition.
  77. */
  78. typedef struct _windowrec {
  79.     struct _windowrec    *next;        /*  Window link                        */
  80.     int                    wihandle;    /* Window Handle                    */
  81.     int                    vslidepos;    /* vertical slider position            */
  82.     char                title[30];    /* Title of window                    */
  83.     GRECT                box;        /* Window Box dimensions            */
  84.     GRECT                work;        /* Window content region dimensions    */
  85. /************************************************************************/
  86.     objtree                maintree;    /* menu, dialog, etc icons            */
  87.     objtreeptr            inwindow;     /*  active window tree struct       */
  88.     int                    saved;        /*  has been saved to file?            */                
  89. } windowrec;
  90. typedef windowrec *windowptr;
  91.  
  92. extern OBJECT    *onleft; /*  active object on left   */
  93. extern OBJECT    tredesk[20];    /* new desktop    */
  94. extern OBJECT    mnudesk[20];    /* new desktop    */
  95. extern OBJECT    obdesk[20];        /* new desktop    */
  96. extern    int            hightreadr;
  97. extern    int            lowtreadr;
  98. extern    int            highmnuadr;
  99. extern    int            lowmnuadr;
  100. extern    int            highobadr;
  101. extern    int            lowobadr;
  102.  
  103. #ifdef extern
  104. long _stksize = 0x6000L;
  105. int    windowcount = 0;
  106. char newtitle[80] = {NULL};
  107. windowptr    firstwindow = NULL;       /* in MAIN.C these lines used  */
  108. windowptr    thefrontwin = NULL;
  109. char        fs_insel[40];
  110. char        fs_inpath[40];
  111. int         iconum = 0;
  112. objtreeptr    tempm = NULL;
  113. objtreeptr    temps = NULL;
  114. int            spaste = FALSE;
  115. int         snap = 0;
  116. int            cout = 0;
  117. #else
  118. extern    long    _stksize;
  119. extern    int        windowcount;
  120. extern    char    newtitle[80];
  121. extern    windowptr    firstwindow;
  122. extern    windowptr    thefrontwin;
  123. extern    char    fs_insel[];
  124. extern    char    fs_inpath[];
  125. extern    int            iconum;
  126. extern    objtreeptr    tempm;
  127. extern    objtreeptr    temps;
  128. extern    int            spaste;
  129. extern    int            snap;
  130. extern    int            cout;
  131. #endif
  132.  
  133. extern    oneobj    tempo;
  134.  
  135. extern int handle, rez; /* work station handle and resolution */
  136.   
  137. #ifndef __STDC__
  138. extern char *malloc();
  139. #endif
  140. extern windowptr new_window();
  141. extern windowptr findwindowptr();
  142. extern objtreeptr    copy_tree();
  143.  
  144.   typedef union
  145.           {
  146.       struct     {
  147. #ifndef __GNUC__
  148.           unsigned bgcolor    : 4;
  149.           unsigned fillmode    : 3;
  150.           unsigned wrmode        : 1;
  151.           unsigned tcolor        : 4;
  152.           unsigned bdcolor    : 4;
  153. #else
  154.         unsigned bdcolor    : 4;
  155.         unsigned tcolor        : 4;
  156.         unsigned wrmode        : 1;
  157.         unsigned fillmode    : 3;
  158.         unsigned bgcolor    : 4;
  159. #endif
  160.               }     part;
  161.                   int whole;
  162.           }    COLORINT;
  163.  
  164. typedef struct {
  165.     char    mkstr[8];
  166.     int        num;
  167. } defstruct1;
  168.  
  169. typedef struct {
  170.     int     totree;
  171.     int     index;
  172.     int     type;
  173.     char     namestr[10];
  174. } defstruct2;
  175.  
  176.  
  177. /* debugging variables   */
  178.   
  179. extern char        *dumpadr;
  180.  
  181. #ifdef __STDC__
  182. #include <stddef.h>
  183. #include <stdlib.h>
  184. #include <string.h>
  185. #include <memory.h>
  186. #include <unixlib.h>
  187. #include <aesbind.h>
  188. #include <vdibind.h>
  189. #endif
  190.  
  191. #ifdef __STDC__
  192. # define    __P(s) s
  193. #else
  194. # define __P(s) ()
  195. #endif
  196.  
  197.  
  198. /* addsub.c */
  199. int add_tosub __P((OBJECT *objptr , int nindex , int oindex , int x , int y ));
  200. int hand_subtree __P((int clicks , int result , int mousex , int mousey ));
  201. int dbl_clsub __P((int result ));
  202.  
  203. /* box.c */
  204. int do_boxt __P((int result ));
  205. int do_boxct __P((int result ));
  206.  
  207. /* button.c */
  208. int do_button __P((int mousex , int mousey , int clicks ));
  209. int find_parent __P((OBJECT *objptr , int result ));
  210. int hand_maintree __P((int clicks , int result ));
  211. int drag_left __P((int index ));
  212. int add_lefticon __P((OBJECT *iconptr , int oindex , int rflag ));
  213. int dbl_click __P((int index ));
  214.  
  215. /* def.c */
  216. int make_def __P((char dname []));
  217. int read_def __P((char dname []));
  218.  
  219. /* dialogs.c */
  220. int do_buttont __P((int result ));
  221. int do_tist __P((int result ));
  222.  
  223. /* drag.c */
  224. int drag_right __P((int index , int mx , int my ));
  225. int good_parent __P((OBJECT *objtree, int x, int y, int w, int h, int index));
  226. int drag_menu __P((int index , int mx , int my ));
  227.  
  228. /* edit.c */
  229. int erase_obj __P((void ));
  230. int erase_tree __P((void ));
  231. objtreeptr copy_tree __P((int deselect ));
  232. int paste_tree __P((objtreeptr tempmain ));
  233. int copy_obj __P((int deselect ));
  234. int paste_obj __P((void ));
  235.  
  236. /* event.c */
  237. int TaskMaster __P((void ));
  238.  
  239. /* header.c */
  240. int save_file __P((long size , char *start ));
  241. int make_hdr __P((char hname []));
  242. int save_rsc __P((char rname [], long size , char *start ));
  243. int getfile __P((windowptr thewin ));
  244.  
  245. /* init.c */
  246. int init __P((void ));
  247. int open_workstation __P((MFDB *form ));
  248. int shutdown __P((int code ));
  249. int cleanup __P((void ));
  250. int init_path __P((void ));
  251. int create_newtops __P((void ));
  252.  
  253. /* keys.c */
  254. int do_update __P((int keycode , int keymod ));
  255. int dump __P((char *addr , int count ));
  256.  
  257. /* main.c */
  258. int main __P((void ));
  259. int clear __P((void ));
  260. int cursor __P((int x , int y ));
  261.  
  262. /* menu.c */
  263. int do_menu __P((int *message ));
  264. int handle_rot __P((void ));
  265. int handle_desk __P((int itemid ));
  266. int handle_file __P((int itemid ));
  267. int handle_edit __P((int itemid ));
  268. int handle_choose __P((int itemid ));
  269. int do_sort __P((void ));
  270. int sort_x __P((void ));
  271. int sort_y __P((void ));
  272. int sort_boxes __P((void ));
  273.  
  274. /* objutil.c */
  275. int obj_changepos __P((OBJECT *obj , int x , int y ));
  276. int obj_changewh __P((OBJECT *obj , int w , int h ));
  277. int init_maintree __P((windowptr thewin ));
  278. int draw_inwind __P((windowptr thewin, int blank ));
  279. int do_dialog __P((OBJECT *dialog , int start_obj ));
  280. int draw_obj __P((OBJECT *obj ));
  281. int undraw_dial __P((OBJECT *dialog ));
  282.  
  283. /* prep.c */
  284. int make_rsc __P((void ));
  285. long calc_size __P((void ));
  286. char *copy_strings __P((char *next , char *start , RSHDR *rsc_struct_ptr ));
  287. char *copy_tis __P((char *next , char *start , RSHDR *rsc_struct_ptr ));
  288. char *copy_obs __P((char *next , char *start , RSHDR *rsc_struct_ptr , long rs_trindex []));
  289. char *copy_trindex __P((char *next , long rs_trindex []));
  290. int fill_rsc_struct __P((RSHDR *rsc_struct_ptr ));
  291. int fix_ptrs __P((RSHDR *rsc_struct_ptr , char *start ));
  292.  
  293. /* retrv.c */
  294. int ret_rsc __P((void ));
  295.  
  296. /* tree.c */
  297. int trav_tree __P((OBJECT *tree , int order [MAXONUM ]));
  298. int not_already __P((int *order , int index , int head ));
  299. int ord_tree __P((void ));
  300. int newpos __P((int index , int numobjs , int order [MAXONUM ]));
  301. int in_ttl __P((int x , int y , int paste ));
  302. int tidy_m __P((void ));
  303. int mv_ttl __P((int index , int x , int y ));
  304. int name_obj __P((void ));
  305. int check_name __P((char *str ));
  306.  
  307. /* wind.c */
  308. int do_redraw __P((int message[]));
  309. int set_clip __P((int x , int y , int w , int h ));
  310. windowptr new_window __P((void ));
  311. int open_window __P((windowptr thewin ));
  312. int dispose_window __P((windowptr thewin ));
  313. int dispose_win_resources __P((windowptr thewin ));
  314. windowptr findwindowptr __P((int wihandle ));
  315. int whiterect __P((windowptr thewin ));
  316. int make_frontwin __P((windowptr thewin ));
  317. int rot_wind __P((void ));
  318. int update_win __P((int cx, int cy, int cw, int ch));
  319.  
  320. /* cout.c */
  321. int make_cout __P((char cname []));
  322. int wr_it __P((int fildes , char *str ));
  323.  
  324. #ifdef __GNUC__
  325. void rect_set __P(( GRECT *r, int x, int y, int w, int h));
  326. int max __P((int x, int y));
  327. int min __P((int x, int y));
  328. char *xtrcpy __P((char *dest, char *src));
  329. #endif
  330.  
  331. #undef __P
  332.  
  333. #ifdef __GNUC__
  334. static inline int max(int x, int y)
  335. {
  336.     return (x < y)? y : x;
  337. }
  338.  
  339. static inline int min(int x, int y)
  340. {
  341.     return (x > y)? y : x;
  342. }
  343. #endif
  344.